// featurePackage/pages/mySmallShop/mySmallShop.js
const app = getApp();


import {
  signConfig,//获取签到配置
  personSign,//签到一次
  signToday,//今日签到信息
  signPersonInfo,//获取签到用户信息
  personSignList,//获取用户签到列表
} from "../../../../service/jb_sign_service"
import {
  queryUserInfo
} from "../../../../service/jb_mine_service"

Page({

  /**
   * 页面的初始数据
   */
  data: {
    menuTop: app.globalData.menuButton.top,
    menuHeight: app.globalData.menuButton.height,
    userInfo:{},
    signConfigList:{

    },//签到配置列表
    todaySignInfo:{
      count:0,
      integral:0,
      today:false,
    },//今天签到信息
    signUserInfo:{
      signNum:0,//连续签到天数
      sumSignDay:0,//累计签到天数
      isDaySign:false,
      isYesterdaySign:true,
      integral:0,
    },//用户签到信息
    personSignList:[],//当前页面展示签到列表
    signCount: [],//连续签到显示数组
    signContinuousDay:0,//连续签到天数
    signSuccessPop:false,
    signSuccessNum:0,//签到成功给的积分数
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
     this.setData({
       userInfo:app.globalData.userInfo
     })
     this.getSignConfig();
     this.getPersonSignList();
  },



  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  

  },
 
  //获取签到配置
  getSignConfig(){
    signConfig().then(res=>{
      if(res.code == 200){
        this.setData({
          signConfigList:res.data
        })
        this.getSignPersonInfo();
        this.getSignToday();
      }
     
    }).catch(err => {
      console.error("JJLog:signConfig",err)
    })
  },
 
  //获取今日签到信息
  getSignToday(){
    wx.showLoading();
    signToday().then(res=>{
      wx.hideLoading();
      if(res.code == 200){
        this.setData({
          todaySignInfo:res.data
        })
      }
    }).catch(err => {
      wx.hideLoading();
      console.error("JJLog:signToday",err)
    })
  },
  //获取签到用户信息
  getSignPersonInfo(){
    signPersonInfo().then(res=>{
      if(res.code == 200){
        this.setData({
          signUserInfo:res.data,
          signContinuousDay:res.data.signNum,
        })
        let arr = this.prefixInteger(res.data.sumSignDay, 4);
        this.setData({
          signCount:arr,
        })
      }
    }).catch(err => {
      console.error("JJLog:signPersonInfo",err)
    })
  },
  //获取用户的签到列表 这个页面只展示最近的三条就好了
  getPersonSignList(){
    personSignList(1,3).then(res=>{
      if(res.code == 200){
        this.setData({
          personSignList:res.data.list || []
        })
      }
    }).catch(err => {
      console.error("JJLog:personSignList",err)
    })
  },
 
  //签到操作
  signAction(){
   if(this.data.signUserInfo.isDaySign){
      wx.showToast({
        title: '今天已签过到了，明天再来吧！',
        icon:'none'
      })
      return;
   }
   //调用签到接口
   wx.showLoading();
   personSign().then(res =>{
     wx.hideLoading();
     if(res.code == 200){
       this.setData({
         signSuccessPop:true,
         signSuccessNum:res.data.integral,
       })
       this.getSignPersonInfo();
       this.getSignToday();
       this.getPersonSignList();
       this.queryUserInfo();
     }
   }).catch(err =>{
     wx.hideLoading();
     console.error("JJLog:personSign",err);

   })
  },

  

  
  //获取个人信息api
  queryUserInfo() {
    queryUserInfo().then(res => {
      if (res.code == 200) {
        this.setData({
          userInfo: res.data,
        })
        app.globalData.userInfo = res.data
      }
    }).catch(err => {
      console.error("JJLog:queryUserInfo", err);
    })
  },
  /**
			 * 数字分割为数组
			 * @param int num 需要分割的数字
			 * @param int length 需要分割为n位数组
			 */
  prefixInteger(num, length) {
    return (Array(length).join('0') + num).slice(-length).split('');
  },
  closeSuccessPop(){
    this.setData({
      signSuccessPop:false,
    })
  },
  //跳转到签到明细列表
  pushToSignList(){
    wx.navigateTo({
      url: '/featurePackage/pages/sign/signList/signList',
    })
  }, 
})